package com.moli.iov.protocol.model.dto.realtime;

import java.io.Serializable;

import com.moli.iov.protocol.enums.realtime.ChargeStateTag;
import com.moli.iov.protocol.enums.realtime.DcStateTag;
import com.moli.iov.protocol.enums.realtime.GearStateTag;
import com.moli.iov.protocol.enums.realtime.RunModeTag;
import com.moli.iov.protocol.enums.realtime.VehicleStateTag;

public class VehicleAllDto implements Serializable{

	private static final long serialVersionUID = 1L;

	/**
	 * 车辆状态
	 */
	private VehicleStateTag vehicleState;
	
	public VehicleStateTag getVehicleState() {
		return vehicleState;
	}

	public void setVehicleState(VehicleStateTag vehicleState) {
		this.vehicleState = vehicleState;
	}

	public ChargeStateTag getChargeState() {
		return chargeState;
	}

	public void setChargeState(ChargeStateTag chargeState) {
		this.chargeState = chargeState;
	}

	public RunModeTag getRunMode() {
		return runMode;
	}

	public void setRunMode(RunModeTag runMode) {
		this.runMode = runMode;
	}

	public double getSpeed() {
		return speed;
	}

	public void setSpeed(double speed) {
		this.speed = speed;
	}

	public double getOdometer() {
		return odometer;
	}

	public void setOdometer(double odometer) {
		this.odometer = odometer;
	}

	public double getTotalVoltage() {
		return totalVoltage;
	}

	public void setTotalVoltage(double totalVoltage) {
		this.totalVoltage = totalVoltage;
	}

	public double getTotalCurrent() {
		return totalCurrent;
	}

	public void setTotalCurrent(double totalCurrent) {
		this.totalCurrent = totalCurrent;
	}

	public byte getSoc() {
		return soc;
	}

	public void setSoc(byte soc) {
		this.soc = soc;
	}

	public DcStateTag getDcStateTag() {
		return dcStateTag;
	}

	public void setDcStateTag(DcStateTag dcStateTag) {
		this.dcStateTag = dcStateTag;
	}

	public GearStateTag getGear() {
		return gear;
	}

	public void setGear(GearStateTag gear) {
		this.gear = gear;
	}

	public int getInsResistance() {
		return insResistance;
	}

	public void setInsResistance(int insResistance) {
		this.insResistance = insResistance;
	}

	public byte getSpeedUpValue() {
		return speedUpValue;
	}

	public void setSpeedUpValue(byte speedUpValue) {
		this.speedUpValue = speedUpValue;
	}

	public byte getBrakeTravelValue() {
		return brakeTravelValue;
	}

	public void setBrakeTravelValue(byte brakeTravelValue) {
		this.brakeTravelValue = brakeTravelValue;
	}

	/**
	 * 充电状态
	 */
	private ChargeStateTag chargeState;
	
	/**
	 * 运行模式
	 */
	private RunModeTag runMode;
	
	/**
	 * 车速
	 */
	private double speed;
	
	/**
	 * 累计里程(km)
	 */
	private double odometer;
	
	/**
	 * 总电压(V)
	 */
	private double totalVoltage;
	
	/**
	 * 总电流(A)
	 */
	private double totalCurrent;
	
	/**
	 * 电池电量(1~100) %
	 */
	private byte soc;
	
	/**
	 * DC-DC状态
	 * 
	 */
	private DcStateTag dcStateTag;
	/**
	 * 车辆档位
	 * 
	 */
	private GearStateTag gear;
	
	/**
	 * 绝缘电阻(Insulation Resistance)
	 * 
	 * kΩ
	 */
	private int insResistance;
	
	/**
	 * 	加速踏板行程值
	 *	有效值范围：0～100(表示0%～100%)；
	 *	最小计量单元：1%；
	 *	"0xFE"表示异常，"0xFF"表示无效。
	 * 
	 */
	private byte speedUpValue;
	
	/**
	 * 制动踏板行程值
	 * 
	 * 有效值范围：0～100(表示0%～100%)；
	 * 最小计量单元：1%；
	 * “0”表示制动关状态；在无具体形成值情况下，用“0x65”即“101”表示制动有效状态，
	 * "0xFE"表示异常，"0xFF"表示无效。
	 */
	private byte brakeTravelValue;
}
